package com.uh.rds.testing.validator;

public class DataValidatorArguments {

    public DataValidatorArguments() {
    }

    /**
     * 线程总数
     */
    protected int threadCount;

    /**
     * 校验前需要等待的时间（单位毫秒）
     */
    protected long validateInterval = 200L;

    /**
     * 随机顺序执行, 默认是false
     */
    protected boolean randomOrder = false;

    protected boolean validateReversed = false;

    /**
     * 在validator中每一个key处理之间的等待，默认是0
     * 用于
     */
    protected long eachKeyInterval = 0L;

    /**
     * 是否验证过程通过 slave 的连接
     */
    protected boolean validateFromSlave = false;

    /**
     * 过期时间（单位秒）, 如果开启将
     */
    protected int expireSeconds = 0;

    /**
     * 线程创建间隔这样可以避免线程同时产生峰值压力，单位毫秒
     */
    protected long threadCreateInterval = 20L;



    public int getThreadCount() {
        return threadCount;
    }

    public void setThreadCount(int threadCount) {
        this.threadCount = threadCount;
    }

    public long getValidateInterval() {
        return validateInterval;
    }

    public void setValidateInterval(long validateInterval) {
        this.validateInterval = validateInterval;
    }

    public long getEachKeyInterval() {
        return eachKeyInterval;
    }

    public void setEachKeyInterval(long eachKeyInterval) {
        this.eachKeyInterval = eachKeyInterval;
    }

    public int getExpireSeconds() {
        return expireSeconds;
    }

    public void setExpireSeconds(int expireSeconds) {


        this.expireSeconds = expireSeconds;
    }

    public boolean isValidateFromSlave() {
        return validateFromSlave;
    }

    public void setValidateFromSlave(boolean validateFromSlave) {
        this.validateFromSlave = validateFromSlave;
    }

    public boolean isValidateReversed() {
        return validateReversed;
    }

    public void setValidateReversed(boolean validateReversed) {
        this.validateReversed = validateReversed;
    }

    public long getThreadCreateInterval() {
        return threadCreateInterval;
    }

    public void setThreadCreateInterval(long threadCreateInterval) {
        this.threadCreateInterval = threadCreateInterval;
    }

    public boolean isRandomOrder() {
        return randomOrder;
    }

    public void setRandomOrder(boolean randomOrder) {
        this.randomOrder = randomOrder;
    }
}
